package com.zjsru.oneday202208;

import java.util.Objects;

/**
 * @Author: likew
 * @Date: 2022/8/2
 *
 * 两个数组间的距离值
 *
 * 输入：arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2
 * 输出：2
 * 解释：
 * 对于 arr1[0]=4 我们有：
 * |4-10|=6 > d=2
 * |4-9|=5 > d=2
 * |4-1|=3 > d=2
 * |4-8|=4 > d=2
 * 所以 arr1[0]=4 符合距离要求
 *
 * 对于 arr1[1]=5 我们有：
 * |5-10|=5 > d=2
 * |5-9|=4 > d=2
 * |5-1|=4 > d=2
 * |5-8|=3 > d=2
 * 所以 arr1[1]=5 也符合距离要求
 *
 * 对于 arr1[2]=8 我们有：
 * |8-10|=2 <= d=2
 * |8-9|=1 <= d=2
 * |8-1|=7 > d=2
 * |8-8|=0 <= d=2
 * 存在距离小于等于 2 的情况，不符合距离要求
 *
 * 故而只有 arr1[0]=4 和 arr1[1]=5 两个符合距离要求，距离值为 2
 */
public class FindTheDistanceValue {
    public int findTheDistanceValue(int[] arr1, int[] arr2, int d) {
        int ans = 0;
        for (int num1: arr1) {
            boolean ok = true;
            for (int num2: arr2) {
                ok &= Math.abs(num1 - num2) > d;
            }
            ans += ok ? 1 :0;
        }
        return ans;
    }
    
    public static void main(String[] args) {
        FindTheDistanceValue findTheDistanceValue = new FindTheDistanceValue();
        int[] arr1 = new int[]{1,4,2,3};
        int[] arr2 = new int[]{-4,-3,6,10,20,30};
        int d = 3;
        System.out.println(findTheDistanceValue.findTheDistanceValue(arr1, arr2, d));
    }
}
